package io.renren.modules.quickService.service;

import com.baomidou.mybatisplus.service.IService;
import io.renren.common.utils.PageUtils;
import io.renren.modules.quickService.entity.AreacodeEntity;
import io.renren.modules.quickService.vo.AreaCodeVO;

import java.util.List;
import java.util.Map;

/**
 * 行政区划编码
 *
 * @author zenger380
 * @email zenger380@163.com
 * @date 2018-10-10 16:12:43
 */
public interface AreacodeService extends IService<AreacodeEntity> {

    PageUtils queryPage(Map<String, Object> params);

    /**
     * 根据级别获取城市列表
     *
     * @return List<AreacodeEntity>
     */
    List<AreaCodeVO> getCityListByLevel(Integer cLevel);

    /**
     * 根据上级节点获取所有直接下级节点
     * @param parentId 父级行政区划编码
     * @return List<AreacodeEntity>
     */
    List<AreaCodeVO> getChildrenList(Long parentId);


    List<AreaCodeVO> getCascadeAreas();

    /**
     * 根据最后一级行政区划找到所有上级admincode
     * @param adminCode 当前及行政区划
     * @return 当前及行政区划
     */
    String[] getCascadeAreaByLastAdminCode(String adminCode);


    /**
     * 根据最后一级行政区划找到地址
     * @param adminCode 当前及行政区划
     * @return 当前及行政区划
     */
    String getAddressByLastAdminCode(String adminCode);
}

